#include <iostream>
// 想改变string对象中字符的值，必须把循环变量定义成引用类型
// 把字符串改成为大写字母的形式
int main()
{
    std::string s("Hello World!!!");
    // punct_cnt的类型和s.zize的返回类型一样
    decltype(s.size()) punct_cnt = 0;
    // 转换成大写字母
    for(auto &c:s) // 对于s中的每个字符
    {
        {
            c = toupper(c); // c是一个引用，因此赋值语句将改变s中字符的值
        }
    }
    std::cout << s << std::endl;
    

    return 0;
}